package com.qiao.startapp.ui.activity

import android.content.Intent
import android.os.Bundle
import android.view.animation.AlphaAnimation
import android.view.animation.Animation
import android.view.animation.LinearInterpolator
import android.view.animation.RotateAnimation
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPStaticUtils
import com.qb.baselibrary.basekotlin.EmptyViewModel
import com.qb.common.base.CommonBaseActivity
import com.qb.common.constant.Constants
import com.qb.common.router.RouterPath
import com.qb.common.widget.PopUtils
import com.qiao.startapp.databinding.AppActivitySplashBinding
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch


/**
 * @ClassName: SplashActiviy
 * @Description: Description
 * @Author: qq
 * @Date: 2022/9/21 9:36
 */

class SplashActiviy:CommonBaseActivity<EmptyViewModel,AppActivitySplashBinding>() {
    private var rotate: RotateAnimation? = null
    private var alphaAnimation: AlphaAnimation? = null
    override fun initView(savedInstanceState: Bundle?) {
        // 避免从桌面启动程序后，会重新实例化入口类的activity
//        if (!this.isTaskRoot) { // 当前类不是该Task的根部，那么之前启动
//            val intent = intent
//            if (intent != null) {
//                val action = intent.action
//                if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN == action) { // 当前类是从桌面启动的
//                    finish() // finish掉该类，直接打开该Task中现存的Activity
//                    return
//                }
//            }
//        }
//        setImmersionBar(mBinding.topHeight)

        //权限申请

        alphaAnimation = AlphaAnimation(0.3F, 1.0F)
        alphaAnimation?.run {
            duration = 2000
            setAnimationListener(object : Animation.AnimationListener {
                override fun onAnimationRepeat(p0: Animation?) {
                }

                override fun onAnimationEnd(p0: Animation?) {
                    var isHasLogin = SPStaticUtils.getBoolean(Constants.isHasLogin,false)
                    if(isHasLogin){
                        jumpToMain()
                    }else{
                        PopUtils.customDialog(this@SplashActiviy,
                            "温馨提示",
                            "亲爱的用户,感谢您信任并使用零一!\n" +
                                    "我们依据相关法律制定了《零一隐私协议》,请您在点击同意之前仔细阅读并充分理解相关条款,其中的重点条款已为您标注,方便您了解自己的权利。\n" +
                                    "我们将通过《零一隐私协议》向您说明:\n" +
                                    "1.为了您可以更好地享受零一服务,我们会根据您的授权内容,收集和使用对应的必要信息(例如您的联系电话位置信息、配送地址等)\n" +
                                    "2.您可以对上述信息进行访问、更正、删除以及注销账户。我们也将提供专门的个人信息保护联系方式。\n" +
                                    "3.未经您的授权同意,我们不会将上述信息共享给第三方或用于您未授权的其他用途。\n" +
                                    "零一",
                            object : PopUtils.CommonCallBack {
                                override fun sure(sure: String) {
                                    SPStaticUtils.put(Constants.isHasLogin,true)
                                    jumpToMain()
                                }

                                override fun cancle() {
                                    finish()
                                }
                            })
                    }
                }

                override fun onAnimationStart(p0: Animation?) {
                }
            })
        }
        mBinding.layoutSplash.startAnimation(alphaAnimation)
    }

    /**
     * 权限申请
     */


    override fun initData() {
    }

    override fun onResume() {
        super.onResume()
    }
    fun jumpToMain() {
        val intent = Intent(this, MainActivity::class.java)
        startActivity(intent)
        finish()
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
    }
}